package notes.java.sjms23.t18_composite;

import java.util.ArrayList;
import java.util.List;

// 组合模式 - 树干 具体公司
// 一个公司有多个部门（人力，财务。。。），几乎每个公司都有这样的部门，但某一具体的部门只属性某一个公司
public class Company extends AbstractCompany{

    private List<AbstractCompany> companys = new ArrayList<>();
    
    public Company(String name) {
        super(name);
    }

    @Override
    public void add(AbstractCompany company) {
        companys.add(company);
    }

    @Override
    public void del(AbstractCompany company) {
        companys.remove(company);
    }

    @Override
    public void duty() {
        for(AbstractCompany company : companys) {
            company.duty();
        }
    }

}
